package it.unisalento.appsalento.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;

/**
 * @author AGM
 *
 */
public class Appello implements Serializable {
	public static final String PRENOTATO = "P";
	public static final String SOSTENUTO = "S";
	public static final String DA_ACCETTARE = "T";
	public static final String RISULTATO_ACCETTATO = "A";
	public static final String RISULTATO_RIFIUTATO = "R";
	public static final String IN_LISTA = "N";
	public static final String LODE = "L";

	/**
	 * 
	 */
	private static final long serialVersionUID = 5035612700214767493L;
	private String idAppello;
	private String annoCorso;
	private String codiceEsame;
	private String nomeEsame;
	private Date dataProvaScritta;
	private Date dataProvaOrale;
	
	//Solo per dettaglio appello
	private String appartenenzaEsame;
	private String tipoAppello;
	private String sessione;
	private ArrayList<Docente> docenti;
	private String edificioAula;
	private Date dataOraEsameScritto;
	private Date dataOraEsameOrale;
	private String risultato;
	private String risultatoLode;
	
	/**
	 * puo' essere: 
	 * - P (prenotato), 
	 * - S (sostenuto e in attesa di risultato), 
	 * - T (risultato caricato, in attesa di accettazione), 
	 * - A (risultato accettato), R (risultato rifiutato), 
	 * - N (in lista, non ci si e' prenotati e non ci sono risultati)
	 */
	private String stato;
	
	
	
	/**
	 * @return the idAppello
	 */
	public String getIdAppello() {
		return idAppello;
	}
	/**
	 * @param idAppello the idAppello to set
	 */
	public void setIdAppello(String idAppello) {
		this.idAppello = idAppello;
	}
	
	/**
	 * @return the annoCorso
	 */
	public String getAnnoCorso() {
		return annoCorso;
	}
	/**
	 * @param annoCorso the annoCorso to set
	 */
	public void setAnnoCorso(String annoCorso) {
		this.annoCorso = annoCorso;
	}
	/**
	 * @return the codiceEsame
	 */
	public String getCodiceEsame() {
		return codiceEsame;
	}
	/**
	 * @param codiceEsame the codiceEsame to set
	 */
	public void setCodiceEsame(String codiceEsame) {
		this.codiceEsame = codiceEsame;
	}
	/**
	 * @return the nomeEsame
	 */
	public String getNomeEsame() {
		return nomeEsame;
	}
	/**
	 * @param nomeEsame the nomeEsame to set
	 */
	public void setNomeEsame(String nomeEsame) {
		this.nomeEsame = nomeEsame;
	}
	/**
	 * @return the dataProvaScritta
	 */
	public Date getDataProvaScritta() {
		return dataProvaScritta;
	}
	/**
	 * @param dataProvaScritta the dataProvaScritta to set
	 */
	public void setDataProvaScritta(Date dataProvaScritta) {
		this.dataProvaScritta = dataProvaScritta;
	}
	/**
	 * @return the dataProvaOrale
	 */
	public Date getDataProvaOrale() {
		return dataProvaOrale;
	}
	/**
	 * @param dataProvaOrale the dataProvaOrale to set
	 */
	public void setDataProvaOrale(Date dataProvaOrale) {
		this.dataProvaOrale = dataProvaOrale;
	}
	/**
	 * @return the appartenenzaEsame
	 */
	public String getAppartenenzaEsame() {
		return appartenenzaEsame;
	}
	/**
	 * @param appartenenzaEsame the appartenenzaEsame to set
	 */
	public void setAppartenenzaEsame(String appartenenzaEsame) {
		this.appartenenzaEsame = appartenenzaEsame;
	}
	/**
	 * @return the tipoAppello
	 */
	public String getTipoAppello() {
		return tipoAppello;
	}
	/**
	 * @param tipoAppello the tipoAppello to set
	 */
	public void setTipoAppello(String tipoAppello) {
		this.tipoAppello = tipoAppello;
	}
	/**
	 * @return the sessione
	 */
	public String getSessione() {
		return sessione;
	}
	/**
	 * @param sessione the sessione to set
	 */
	public void setSessione(String sessione) {
		this.sessione = sessione;
	}
	/**
	 * @return the docenti
	 */
	public ArrayList<Docente> getDocenti() {
		return docenti;
	}
	/**
	 * @param docenti the docenti to set
	 */
	public void setDocenti(ArrayList<Docente> docenti) {
		this.docenti = docenti;
	}
	/**
	 * @return the edificioAula
	 */
	public String getEdificioAula() {
		return edificioAula;
	}
	/**
	 * @param edificioAula the edificioAula to set
	 */
	public void setEdificioAula(String edificioAula) {
		this.edificioAula = edificioAula;
	}
	/**
	 * @return the dataOraEsameScritto
	 */
	public Date getDataOraEsameScritto() {
		return dataOraEsameScritto;
	}
	/**
	 * @param dataOraEsameScritto the dataOraEsameScritto to set
	 */
	public void setDataOraEsameScritto(Date dataOraEsameScritto) {
		this.dataOraEsameScritto = dataOraEsameScritto;
	}
	/**
	 * @return the dataOraEsameOrale
	 */
	public Date getDataOraEsameOrale() {
		return dataOraEsameOrale;
	}
	/**
	 * @param dataOraEsameOrale the dataOraEsameOrale to set
	 */
	public void setDataOraEsameOrale(Date dataOraEsameOrale) {
		this.dataOraEsameOrale = dataOraEsameOrale;
	}
	/**
	 * @return the risultato
	 */
	public String getRisultato() {
		return risultato;
	}
	/**
	 * @param risultato the risultato to set
	 */
	public void setRisultato(String risultato) {
		this.risultato = risultato;
	}
	
	/**
	 * @return the risultatoLode
	 */
	public String getRisultatoLode() {
		return risultatoLode;
	}
	/**
	 * @param risultatoLode the risultatoLode to set
	 */
	public void setRisultatoLode(String risultatoLode) {
		this.risultatoLode = risultatoLode;
	}
	/**
	 * @return the stato
	 */
	public String getStato() {
		return stato;
	}
	/**
	 * @param stato the stato to set
	 */
	public void setStato(String stato) {
		this.stato = stato;
	}
}
